
using System;
using System.Collections;
using QdbUnit;
using QdbUnit.Extensions;
using QdbUnit.Extensions.Fixtures;

namespace Qdb.Tests.Common.Defragment
{
	public abstract class AbstractQdbDefragTestCase : ITestSuiteBuilder
	{
		public virtual string GetLabel()
		{
			return "DefragAllTestCase: " + TestSuite().FullName;
		}

		public abstract Type TestSuite();

		public virtual IEnumerator GetEnumerator()
		{
			return new QdbTestSuiteBuilder(new QdbDefragSolo(), TestSuite()).GetEnumerator(
				);
		}
	}
}
